package com.huiminpay.merchant.api;

import com.huiminpay.common.cache.domain.BusinessException;
import com.huiminpay.merchant.dto.AppDTO;

import java.util.List;

public interface AppService {

    /**
     *
     * @param merchantId    商户Id
     * @param appDTO    应用信息
     * @return   新添加的应用信息
     * @throws BusinessException
     */
    AppDTO createApp(Long merchantId, AppDTO appDTO) throws BusinessException;

    /**
     * 查询商户的应用列表
     * @param merchantId  商户Id
     * @return   该商户的应用列表
     * @throws BusinessException
     */
    List<AppDTO> queryAppByMerchant(Long merchantId) throws BusinessException;

    /**
     * 根据应用Id查询应用信息
     * @param appId 应用ID
     * @return   应用信息
     * @throws BusinessException
     */
    AppDTO getAppById(String appId) throws BusinessException;

    /**
     * 校验应用是否属于该商户
     * @param appId  应用Id
     * @param merchantId  商户ID
     * @return  true:属于  false: 不属于
     * @throws BusinessException
     */
    Boolean isExist(String appId,Long merchantId) throws BusinessException;
}
